package com.cf.service.impl;

//@Service("scheduleJobService")
//implements ScheduleJobService
public class ScheduleJobServiceImpl {
//	@Autowired
//	private Scheduler scheduler;
//	@Autowired
//	private ScheduleJobDao schedulerJobDao;
//
//	/**
//	 * 项目启动时，初始化定时器
//	 */
//	// @PostConstruct//2020-12-23 停止定时任务
//	public void init() {
//		List<ScheduleJobEntity> scheduleJobList = schedulerJobDao.queryList(new HashMap<>());
//		for (ScheduleJobEntity scheduleJob : scheduleJobList) {
//			CronTrigger cronTrigger = ScheduleUtils.getCronTrigger(scheduler, scheduleJob.getJobId());
//			// 如果不存在，则创建
//			if (cronTrigger == null) {
//				ScheduleUtils.createScheduleJob(scheduler, scheduleJob);
//			} else {
//				ScheduleUtils.updateScheduleJob(scheduler, scheduleJob);
//			}
//		}
//	}
//
//	@Override
//	public ScheduleJobEntity queryObject(Long jobId) {
//		return schedulerJobDao.queryObject(jobId);
//	}
//
//	@Override
//	public List<ScheduleJobEntity> queryList(Map<String, Object> map) {
//		return schedulerJobDao.queryList(map);
//	}
//
//	@Override
//	public int queryTotal(Map<String, Object> map) {
//		return schedulerJobDao.queryTotal(map);
//	}
//
//	@Override
//	@Transactional
//	public void save(ScheduleJobEntity scheduleJob) {
//		scheduleJob.setCreateTime(new Date());
//		scheduleJob.setStatus(ScheduleStatus.NORMAL.getValue());
//		schedulerJobDao.save(scheduleJob);
//
//		ScheduleUtils.createScheduleJob(scheduler, scheduleJob);
//	}
//
//	@Override
//	@Transactional
//	public void update(ScheduleJobEntity scheduleJob) {
//		ScheduleUtils.updateScheduleJob(scheduler, scheduleJob);
//
//		schedulerJobDao.update(scheduleJob);
//	}
//
//	@Override
//	@Transactional
//	public void deleteBatch(Long[] jobIds) {
//		for (Long jobId : jobIds) {
//			ScheduleUtils.deleteScheduleJob(scheduler, jobId);
//		}
//
//		// 删除数据
//		schedulerJobDao.deleteBatch(jobIds);
//	}
//
//	@Override
//	public int updateBatch(Long[] jobIds, int status) {
//		Map<String, Object> map = new HashMap<>();
//		map.put("list", jobIds);
//		map.put("status", status);
//		return schedulerJobDao.updateBatch(map);
//	}
//
//	@Override
//	@Transactional
//	public void run(Long[] jobIds) {
//		for (Long jobId : jobIds) {
//			ScheduleUtils.run(scheduler, queryObject(jobId));
//		}
//	}
//
//	@Override
//	@Transactional
//	public void pause(Long[] jobIds) {
//		for (Long jobId : jobIds) {
//			ScheduleUtils.pauseJob(scheduler, jobId);
//		}
//
//		updateBatch(jobIds, ScheduleStatus.PAUSE.getValue());
//	}
//
//	@Override
//	@Transactional
//	public void resume(Long[] jobIds) {
//		for (Long jobId : jobIds) {
//			ScheduleUtils.resumeJob(scheduler, jobId);
//		}
//
//		updateBatch(jobIds, ScheduleStatus.NORMAL.getValue());
//	}

}
